-- 自减脚本，小于0返回[-1, 当前库存], key不存在会初始化为0.
local k = KEYS[1]
local n = ARGV[1] 
local num = redis.call("DECRBY", k, n)
local res = {0, num}

if num < 0 then
  num = redis.call("INCRBY", k, n)
  res[1] = -1 
  res[2] = num
end

return res